1. Technical Field
The present invention relates in general to clustered data processing systems and in particular to management and utilization of shared storage within a clustered data processing system. Still more particularly, the present invention relates to an improved method and system for providing active memory sharing of logical units in a distributed storage repository.
2. Description of the Related Art
Large scale, distributed data processing systems are known in the art. As cloud computing becomes more and more ubiquitous in the computer world, methods for providing enhanced functionality and greater up-time are required to continue to adequately serve commercial needs.
Today, storage virtualization and management is a separate entity than server virtualization and management. Different clients logical partitions (LPARs) associated with different servers access the same SAN storage. A client's LPARs on one server may not know if the SAN disk that it is trying to access is being used by some another client's LPAR belonging to some other server. This can cause data integrity issues and may potentially cause data corruption and client partition crashes. This problem is exacerbated for memory sharing and remote hibernation solutions.
Additionally, in a typical storage virtualization environment each client is allocated a specified amount of storage. Regardless of whether the client uses all or only a small portion of the allocated amount, the allocated amount remains reserved. Currently, for active memory sharing (AMS), network storage (e.g., SAN) devices are used as paging devices. The number of paging devices that can be supported and thus the number of client partitions that can be Active Memory Sharing (AMS) clients is completely dependent on the number of storage devices that are accessible and are available (free). As both the AMS clients and dedicated memory clients that need to be able to “hibernate” increase, the requirement on the number of paging devices that are required increases rapidly. Additionally, the size of each storage device needs to be sufficient to satisfy the AMS client's memory requirements and/or be big enough to completely contain the hibernation image. This requires a very large amount of storage and also results in highly inefficient use of the large amount of storage since many devices, especially active memory sharing (AMS) devices, will typically only use a small amount of space when running and only very rarely use the full capacity, or when full capacity is needed it may only be required for a temporary amount of time.